package com.news.dao;

import com.news.entity.Article;
import com.news.utils.JdbcUtils;

import java.nio.file.attribute.UserDefinedFileAttributeView;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author:weiming
 * @Date:2021/3/26
 */
public interface CmsArticleDao {


    /**
     * （管理端）分页获取文章
     * @param pageNum
     * @param pageSize
     * @return
     */
    public List getAllArticleInfo(int pageNum,int pageSize);

    /**
     * （管理端）新增文章
     * @param article
     * @return
     */
    public int add(Article article);

    /**
     * （管理端）更新文章
     * @param article
     * @return
     */
    public int update(Article article);

    /**
     *  （管理端） 删除文章
     * @param
     * @return
     */
    public int delete(Integer newsId);

    /**
     *  （管理端|客户端）查看文章详情
     * @param Id
     * @return
     */
    public Article getArticleById(int Id);

    /**
     * （客户端）根据分类获取允许展示的文章列表
     * @return
     */
    public Map<String,Object> getArticleListByCatelogyId(int CatelogyId);

    /**
     *  （管理端） 获取投稿文章
     * @param pageNum
     * @param pageSize
     * @return
     */
    List getAllArticleByUser(int pageNum, int pageSize);

    /**
     * （管理端）修改审核状态
     * @param article
     * @return
     */
    int changeCheck(Article article);

    /**
     * 获取汇总数据，文章总数，评论总数，用户总数
     * @return
     */
    Map<String,Object> getTotalData();

    /**
     * 文件上传
     * @param file
     * @return
     */
    int uploadFile(Map<String,Object> file);

    /**
     * 模糊查询文章
     * @param title
     * @return
     */
    List<Map<String,Object>> getSearchResult(String title);


}
